package demo;/**
 * Created with IntelliJ IDEA
 * Description:
 * User:34398
 * Date:2024-03-30
 * Time:16:59
 */

import demo.*;

public interface IListOpera<T> {

    //必须用MyList。出静态内部类
    public abstract void display();//显示全部

    void display(MyList.ListNode<T> newNode);//从指定位置开始显示

    int size();//当前链表长度

    void addFirst(T val);//头插

    void addLast(T val);//尾插

    void addIndex(int index, T val);//在index下标，插入一个元素

    MyList.ListNode<T> findIndexSubOne(int index);//找到，第index

    boolean contains(T val);//是否含有某个元素，存在返回真，否则返回假

    void remove(T val);//删除某一个元素

    void removeAllKey(T val);//删除所有的val

    void clear();//清空链表

    MyList.ListNode<T> reverseList();//倒序链表

    MyList.ListNode<T> middleNode();//快慢指针，中间节点

    T kthToLast( int k);//返回倒数第K个节点的元素值

    MyList.ListNode<T> partition( T x);

}
